1
指令集架构契约与体系结构状态
AI031Lesson 3
00:00

指令集架构(ISA) 作为一项基础 抽象层级 ,也是软件与硬件之间的正式契约。尽管高级语言如C能隐藏复杂性,但ISA揭示了 体系结构状态——即处理器寄存器和内存的精确配置。

1. 体系结构状态

一个x86-64 CPU通过若干关键组件定义其状态:

  • 程序计数器(%rip): 保存下一条指令的地址。
  • 整数寄存器文件: 16个通用寄存器(例如, %rax%rbx)存储64位数值。
  • 条件码: 用于控制流的标志位(ZF、SF、CF、OF)。
  • 向量寄存器: 例如 YMM寄存器 (256位)用于SIMD操作。

2. 内存抽象

机器码将内存视为一个巨大的 字节可寻址数组。虽然x86-64支持64位虚拟地址,但当前实现通常使用48位地址空间($2^{48}$字节)。我们把数据大小分为 (16位), 双字 (32位),以及 四字 (64位)。

CPU(状态)%rip(PC)寄存器(%rax..)条件码ISA 契约movq, ret, leaq虚拟内存0xFFFF...(栈)0x0000...(代码)

3. 演进与兼容性

摩尔定律驱动,英特尔已从 8086 演进到 Core i7 Haswell。ISA确保了 向后兼容性,使得旧版机器码可在现代多核、超线程硬件上运行。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>